package com.wf.day_0606.test1;

/**
 * @author mpk
 * @since 2024/6/6 17:19:20
 */
public class Demo {

    //5.猴子吃桃子问题，第一天吃了一半多一个，第二天再吃一半多一个，第10天剩余1个，请问第一天摘了多少个桃子？

    public static void main(String[] args) {


        int i = eatPeaches(10);
        System.out.println(i);
        drinkBeer(10, 0, 0);
        System.out.println(drinkBeer(10, 0, 0));

    }

    public static int eatPeaches(int a) {

        if (a == 1) {
            return a;
        } else {
            return (eatPeaches(a - 1) + 1) * 2;
        }
    }

    //3.喝啤酒问题，一瓶啤酒2元，两个空瓶子可以换一瓶啤酒，四个啤酒盖可以换一瓶啤酒，请问10元共可以喝多少瓶？
    public static int drinkBeer(int money, int bottles, int beerCaps) {


        int beer = money / 2;    //啤酒数

        int bottle = beer + bottles;//瓶子数
        int i = bottle / 2;

        if (i > 0) {
            bottle = bottle % 2;
        }

        int beerCap = beer + beerCaps;//啤酒盖数

        int j = beerCap / 4;
        if (j > 0) {
            beerCap = beerCap % 4;

        }
        if (money < 2 && bottles < 2 && beerCaps < 4) {
            return 0;
        }


        //将 啤酒 和 啤酒盖换得的啤酒转换成钱，
        //剩余瓶子
        //剩余啤酒盖
        return drinkBeer((i + j) * 2, bottle, beerCap) + beer;
    }

}


